Back to Article
example_mframe_dataset.ipynb
Download Notebook
In [1]:
from zfish.multi_table.tables_io import scan_resources
from gt_utils import squeeze_plot
import polars as pl

r = (
    scan_resources()  # scan dataframes -> LazyResources
    .collect()  # materialize dataframes -> Resources
    .pipe_tables(
        lambda x: x.with_columns(pl.col("roi").cast(pl.String))
    ) # cast roi columns to string to save space panel (c)
) 
In [2]:
r.pipe(squeeze_plot)
dataset
table n pk cols
wells 30 well 7
rois 212 roi 4
multiscale_levels 6 m 3
object_types 8 o 2
label_images 10,116 o:8, m:6, roi:212 2
label_objects 1,376,201 label, o:4, roi:212 9
channels 25 c 4
images 20,352 c:25, m:6, roi:212 1
In [3]:
pred = pl.col('roi').str.starts_with('B')
(
    r.filter(pred)
    .pipe(squeeze_plot)
)
dataset
table n pk cols
wells 4 well 7
rois 31 roi 4
multiscale_levels 6 m 3
object_types 8 o 2
label_images 1,488 o:8, m:6, roi:31 2
label_objects 192,419 label, o:4, roi:31 9
channels 25 c 4
images 2,976 c:19, m:6, roi:31 1
In [4]:
(
    r.filter(pl.col("o") == "nucleiRaw3")
    .filter(pl.col("m") == 1)
    .pipe(squeeze_plot)
)
dataset
table n pk cols
wells 30 well 7
rois 212 roi 4
multiscale_levels 1 m=1 3
object_types 1 o=nucleiRaw3 2
label_images 212 roi 2
label_objects 459,657 label, roi:212 9
channels 25 c 4
images 3,392 c:25, roi:212 1
In [5]:
(
    r.filter(pl.col("row") == "B")
    .filter(pl.col("col") == "05")
    .filter(pl.col("m") == 1)
    .filter(pl.col("o") == "nucleiRaw3")
    .filter(pl.col("wavelength") == 405)
    .pipe(squeeze_plot)
)
dataset
table n pk cols
wells 1 well=B05 7
rois 9 roi 4
multiscale_levels 1 m=1 3
object_types 1 o=nucleiRaw3 2
label_images 9 roi 2
label_objects 21,270 label, roi:9 9
channels 4 c 4
images 36 c:4, roi:9 1